package com.igeekhome.pojo;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class FAdvanceChargeExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public FAdvanceChargeExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andAdvanceChargeIdIsNull() {
            addCriterion("advance_charge_id is null");
            return (Criteria) this;
        }

        public Criteria andAdvanceChargeIdIsNotNull() {
            addCriterion("advance_charge_id is not null");
            return (Criteria) this;
        }

        public Criteria andAdvanceChargeIdEqualTo(Long value) {
            addCriterion("advance_charge_id =", value, "advanceChargeId");
            return (Criteria) this;
        }

        public Criteria andAdvanceChargeIdNotEqualTo(Long value) {
            addCriterion("advance_charge_id <>", value, "advanceChargeId");
            return (Criteria) this;
        }

        public Criteria andAdvanceChargeIdGreaterThan(Long value) {
            addCriterion("advance_charge_id >", value, "advanceChargeId");
            return (Criteria) this;
        }

        public Criteria andAdvanceChargeIdGreaterThanOrEqualTo(Long value) {
            addCriterion("advance_charge_id >=", value, "advanceChargeId");
            return (Criteria) this;
        }

        public Criteria andAdvanceChargeIdLessThan(Long value) {
            addCriterion("advance_charge_id <", value, "advanceChargeId");
            return (Criteria) this;
        }

        public Criteria andAdvanceChargeIdLessThanOrEqualTo(Long value) {
            addCriterion("advance_charge_id <=", value, "advanceChargeId");
            return (Criteria) this;
        }

        public Criteria andAdvanceChargeIdIn(List<Long> values) {
            addCriterion("advance_charge_id in", values, "advanceChargeId");
            return (Criteria) this;
        }

        public Criteria andAdvanceChargeIdNotIn(List<Long> values) {
            addCriterion("advance_charge_id not in", values, "advanceChargeId");
            return (Criteria) this;
        }

        public Criteria andAdvanceChargeIdBetween(Long value1, Long value2) {
            addCriterion("advance_charge_id between", value1, value2, "advanceChargeId");
            return (Criteria) this;
        }

        public Criteria andAdvanceChargeIdNotBetween(Long value1, Long value2) {
            addCriterion("advance_charge_id not between", value1, value2, "advanceChargeId");
            return (Criteria) this;
        }

        public Criteria andOperationStaffIdIsNull() {
            addCriterion("operation_staff_id is null");
            return (Criteria) this;
        }

        public Criteria andOperationStaffIdIsNotNull() {
            addCriterion("operation_staff_id is not null");
            return (Criteria) this;
        }

        public Criteria andOperationStaffIdEqualTo(Integer value) {
            addCriterion("operation_staff_id =", value, "operationStaffId");
            return (Criteria) this;
        }

        public Criteria andOperationStaffIdNotEqualTo(Integer value) {
            addCriterion("operation_staff_id <>", value, "operationStaffId");
            return (Criteria) this;
        }

        public Criteria andOperationStaffIdGreaterThan(Integer value) {
            addCriterion("operation_staff_id >", value, "operationStaffId");
            return (Criteria) this;
        }

        public Criteria andOperationStaffIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("operation_staff_id >=", value, "operationStaffId");
            return (Criteria) this;
        }

        public Criteria andOperationStaffIdLessThan(Integer value) {
            addCriterion("operation_staff_id <", value, "operationStaffId");
            return (Criteria) this;
        }

        public Criteria andOperationStaffIdLessThanOrEqualTo(Integer value) {
            addCriterion("operation_staff_id <=", value, "operationStaffId");
            return (Criteria) this;
        }

        public Criteria andOperationStaffIdIn(List<Integer> values) {
            addCriterion("operation_staff_id in", values, "operationStaffId");
            return (Criteria) this;
        }

        public Criteria andOperationStaffIdNotIn(List<Integer> values) {
            addCriterion("operation_staff_id not in", values, "operationStaffId");
            return (Criteria) this;
        }

        public Criteria andOperationStaffIdBetween(Integer value1, Integer value2) {
            addCriterion("operation_staff_id between", value1, value2, "operationStaffId");
            return (Criteria) this;
        }

        public Criteria andOperationStaffIdNotBetween(Integer value1, Integer value2) {
            addCriterion("operation_staff_id not between", value1, value2, "operationStaffId");
            return (Criteria) this;
        }

        public Criteria andChoiceNetworkIdIsNull() {
            addCriterion("choice_network_id is null");
            return (Criteria) this;
        }

        public Criteria andChoiceNetworkIdIsNotNull() {
            addCriterion("choice_network_id is not null");
            return (Criteria) this;
        }

        public Criteria andChoiceNetworkIdEqualTo(Integer value) {
            addCriterion("choice_network_id =", value, "choiceNetworkId");
            return (Criteria) this;
        }

        public Criteria andChoiceNetworkIdNotEqualTo(Integer value) {
            addCriterion("choice_network_id <>", value, "choiceNetworkId");
            return (Criteria) this;
        }

        public Criteria andChoiceNetworkIdGreaterThan(Integer value) {
            addCriterion("choice_network_id >", value, "choiceNetworkId");
            return (Criteria) this;
        }

        public Criteria andChoiceNetworkIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("choice_network_id >=", value, "choiceNetworkId");
            return (Criteria) this;
        }

        public Criteria andChoiceNetworkIdLessThan(Integer value) {
            addCriterion("choice_network_id <", value, "choiceNetworkId");
            return (Criteria) this;
        }

        public Criteria andChoiceNetworkIdLessThanOrEqualTo(Integer value) {
            addCriterion("choice_network_id <=", value, "choiceNetworkId");
            return (Criteria) this;
        }

        public Criteria andChoiceNetworkIdIn(List<Integer> values) {
            addCriterion("choice_network_id in", values, "choiceNetworkId");
            return (Criteria) this;
        }

        public Criteria andChoiceNetworkIdNotIn(List<Integer> values) {
            addCriterion("choice_network_id not in", values, "choiceNetworkId");
            return (Criteria) this;
        }

        public Criteria andChoiceNetworkIdBetween(Integer value1, Integer value2) {
            addCriterion("choice_network_id between", value1, value2, "choiceNetworkId");
            return (Criteria) this;
        }

        public Criteria andChoiceNetworkIdNotBetween(Integer value1, Integer value2) {
            addCriterion("choice_network_id not between", value1, value2, "choiceNetworkId");
            return (Criteria) this;
        }

        public Criteria andNowMoneyIsNull() {
            addCriterion("now_money is null");
            return (Criteria) this;
        }

        public Criteria andNowMoneyIsNotNull() {
            addCriterion("now_money is not null");
            return (Criteria) this;
        }

        public Criteria andNowMoneyEqualTo(BigDecimal value) {
            addCriterion("now_money =", value, "nowMoney");
            return (Criteria) this;
        }

        public Criteria andNowMoneyNotEqualTo(BigDecimal value) {
            addCriterion("now_money <>", value, "nowMoney");
            return (Criteria) this;
        }

        public Criteria andNowMoneyGreaterThan(BigDecimal value) {
            addCriterion("now_money >", value, "nowMoney");
            return (Criteria) this;
        }

        public Criteria andNowMoneyGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("now_money >=", value, "nowMoney");
            return (Criteria) this;
        }

        public Criteria andNowMoneyLessThan(BigDecimal value) {
            addCriterion("now_money <", value, "nowMoney");
            return (Criteria) this;
        }

        public Criteria andNowMoneyLessThanOrEqualTo(BigDecimal value) {
            addCriterion("now_money <=", value, "nowMoney");
            return (Criteria) this;
        }

        public Criteria andNowMoneyIn(List<BigDecimal> values) {
            addCriterion("now_money in", values, "nowMoney");
            return (Criteria) this;
        }

        public Criteria andNowMoneyNotIn(List<BigDecimal> values) {
            addCriterion("now_money not in", values, "nowMoney");
            return (Criteria) this;
        }

        public Criteria andNowMoneyBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("now_money between", value1, value2, "nowMoney");
            return (Criteria) this;
        }

        public Criteria andNowMoneyNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("now_money not between", value1, value2, "nowMoney");
            return (Criteria) this;
        }

        public Criteria andAmountDeductedIsNull() {
            addCriterion("amount_deducted is null");
            return (Criteria) this;
        }

        public Criteria andAmountDeductedIsNotNull() {
            addCriterion("amount_deducted is not null");
            return (Criteria) this;
        }

        public Criteria andAmountDeductedEqualTo(BigDecimal value) {
            addCriterion("amount_deducted =", value, "amountDeducted");
            return (Criteria) this;
        }

        public Criteria andAmountDeductedNotEqualTo(BigDecimal value) {
            addCriterion("amount_deducted <>", value, "amountDeducted");
            return (Criteria) this;
        }

        public Criteria andAmountDeductedGreaterThan(BigDecimal value) {
            addCriterion("amount_deducted >", value, "amountDeducted");
            return (Criteria) this;
        }

        public Criteria andAmountDeductedGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("amount_deducted >=", value, "amountDeducted");
            return (Criteria) this;
        }

        public Criteria andAmountDeductedLessThan(BigDecimal value) {
            addCriterion("amount_deducted <", value, "amountDeducted");
            return (Criteria) this;
        }

        public Criteria andAmountDeductedLessThanOrEqualTo(BigDecimal value) {
            addCriterion("amount_deducted <=", value, "amountDeducted");
            return (Criteria) this;
        }

        public Criteria andAmountDeductedIn(List<BigDecimal> values) {
            addCriterion("amount_deducted in", values, "amountDeducted");
            return (Criteria) this;
        }

        public Criteria andAmountDeductedNotIn(List<BigDecimal> values) {
            addCriterion("amount_deducted not in", values, "amountDeducted");
            return (Criteria) this;
        }

        public Criteria andAmountDeductedBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("amount_deducted between", value1, value2, "amountDeducted");
            return (Criteria) this;
        }

        public Criteria andAmountDeductedNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("amount_deducted not between", value1, value2, "amountDeducted");
            return (Criteria) this;
        }

        public Criteria andWorningMoneyIsNull() {
            addCriterion("worning_money is null");
            return (Criteria) this;
        }

        public Criteria andWorningMoneyIsNotNull() {
            addCriterion("worning_money is not null");
            return (Criteria) this;
        }

        public Criteria andWorningMoneyEqualTo(BigDecimal value) {
            addCriterion("worning_money =", value, "worningMoney");
            return (Criteria) this;
        }

        public Criteria andWorningMoneyNotEqualTo(BigDecimal value) {
            addCriterion("worning_money <>", value, "worningMoney");
            return (Criteria) this;
        }

        public Criteria andWorningMoneyGreaterThan(BigDecimal value) {
            addCriterion("worning_money >", value, "worningMoney");
            return (Criteria) this;
        }

        public Criteria andWorningMoneyGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("worning_money >=", value, "worningMoney");
            return (Criteria) this;
        }

        public Criteria andWorningMoneyLessThan(BigDecimal value) {
            addCriterion("worning_money <", value, "worningMoney");
            return (Criteria) this;
        }

        public Criteria andWorningMoneyLessThanOrEqualTo(BigDecimal value) {
            addCriterion("worning_money <=", value, "worningMoney");
            return (Criteria) this;
        }

        public Criteria andWorningMoneyIn(List<BigDecimal> values) {
            addCriterion("worning_money in", values, "worningMoney");
            return (Criteria) this;
        }

        public Criteria andWorningMoneyNotIn(List<BigDecimal> values) {
            addCriterion("worning_money not in", values, "worningMoney");
            return (Criteria) this;
        }

        public Criteria andWorningMoneyBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("worning_money between", value1, value2, "worningMoney");
            return (Criteria) this;
        }

        public Criteria andWorningMoneyNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("worning_money not between", value1, value2, "worningMoney");
            return (Criteria) this;
        }

        public Criteria andCloseMoneyIsNull() {
            addCriterion("close_money is null");
            return (Criteria) this;
        }

        public Criteria andCloseMoneyIsNotNull() {
            addCriterion("close_money is not null");
            return (Criteria) this;
        }

        public Criteria andCloseMoneyEqualTo(BigDecimal value) {
            addCriterion("close_money =", value, "closeMoney");
            return (Criteria) this;
        }

        public Criteria andCloseMoneyNotEqualTo(BigDecimal value) {
            addCriterion("close_money <>", value, "closeMoney");
            return (Criteria) this;
        }

        public Criteria andCloseMoneyGreaterThan(BigDecimal value) {
            addCriterion("close_money >", value, "closeMoney");
            return (Criteria) this;
        }

        public Criteria andCloseMoneyGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("close_money >=", value, "closeMoney");
            return (Criteria) this;
        }

        public Criteria andCloseMoneyLessThan(BigDecimal value) {
            addCriterion("close_money <", value, "closeMoney");
            return (Criteria) this;
        }

        public Criteria andCloseMoneyLessThanOrEqualTo(BigDecimal value) {
            addCriterion("close_money <=", value, "closeMoney");
            return (Criteria) this;
        }

        public Criteria andCloseMoneyIn(List<BigDecimal> values) {
            addCriterion("close_money in", values, "closeMoney");
            return (Criteria) this;
        }

        public Criteria andCloseMoneyNotIn(List<BigDecimal> values) {
            addCriterion("close_money not in", values, "closeMoney");
            return (Criteria) this;
        }

        public Criteria andCloseMoneyBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("close_money between", value1, value2, "closeMoney");
            return (Criteria) this;
        }

        public Criteria andCloseMoneyNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("close_money not between", value1, value2, "closeMoney");
            return (Criteria) this;
        }

        public Criteria andAdvanceChargeTypeIdIsNull() {
            addCriterion("advance_charge_type_id is null");
            return (Criteria) this;
        }

        public Criteria andAdvanceChargeTypeIdIsNotNull() {
            addCriterion("advance_charge_type_id is not null");
            return (Criteria) this;
        }

        public Criteria andAdvanceChargeTypeIdEqualTo(Integer value) {
            addCriterion("advance_charge_type_id =", value, "advanceChargeTypeId");
            return (Criteria) this;
        }

        public Criteria andAdvanceChargeTypeIdNotEqualTo(Integer value) {
            addCriterion("advance_charge_type_id <>", value, "advanceChargeTypeId");
            return (Criteria) this;
        }

        public Criteria andAdvanceChargeTypeIdGreaterThan(Integer value) {
            addCriterion("advance_charge_type_id >", value, "advanceChargeTypeId");
            return (Criteria) this;
        }

        public Criteria andAdvanceChargeTypeIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("advance_charge_type_id >=", value, "advanceChargeTypeId");
            return (Criteria) this;
        }

        public Criteria andAdvanceChargeTypeIdLessThan(Integer value) {
            addCriterion("advance_charge_type_id <", value, "advanceChargeTypeId");
            return (Criteria) this;
        }

        public Criteria andAdvanceChargeTypeIdLessThanOrEqualTo(Integer value) {
            addCriterion("advance_charge_type_id <=", value, "advanceChargeTypeId");
            return (Criteria) this;
        }

        public Criteria andAdvanceChargeTypeIdIn(List<Integer> values) {
            addCriterion("advance_charge_type_id in", values, "advanceChargeTypeId");
            return (Criteria) this;
        }

        public Criteria andAdvanceChargeTypeIdNotIn(List<Integer> values) {
            addCriterion("advance_charge_type_id not in", values, "advanceChargeTypeId");
            return (Criteria) this;
        }

        public Criteria andAdvanceChargeTypeIdBetween(Integer value1, Integer value2) {
            addCriterion("advance_charge_type_id between", value1, value2, "advanceChargeTypeId");
            return (Criteria) this;
        }

        public Criteria andAdvanceChargeTypeIdNotBetween(Integer value1, Integer value2) {
            addCriterion("advance_charge_type_id not between", value1, value2, "advanceChargeTypeId");
            return (Criteria) this;
        }

        public Criteria andPaymentMethodIdIsNull() {
            addCriterion("payment_method_id is null");
            return (Criteria) this;
        }

        public Criteria andPaymentMethodIdIsNotNull() {
            addCriterion("payment_method_id is not null");
            return (Criteria) this;
        }

        public Criteria andPaymentMethodIdEqualTo(Integer value) {
            addCriterion("payment_method_id =", value, "paymentMethodId");
            return (Criteria) this;
        }

        public Criteria andPaymentMethodIdNotEqualTo(Integer value) {
            addCriterion("payment_method_id <>", value, "paymentMethodId");
            return (Criteria) this;
        }

        public Criteria andPaymentMethodIdGreaterThan(Integer value) {
            addCriterion("payment_method_id >", value, "paymentMethodId");
            return (Criteria) this;
        }

        public Criteria andPaymentMethodIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("payment_method_id >=", value, "paymentMethodId");
            return (Criteria) this;
        }

        public Criteria andPaymentMethodIdLessThan(Integer value) {
            addCriterion("payment_method_id <", value, "paymentMethodId");
            return (Criteria) this;
        }

        public Criteria andPaymentMethodIdLessThanOrEqualTo(Integer value) {
            addCriterion("payment_method_id <=", value, "paymentMethodId");
            return (Criteria) this;
        }

        public Criteria andPaymentMethodIdIn(List<Integer> values) {
            addCriterion("payment_method_id in", values, "paymentMethodId");
            return (Criteria) this;
        }

        public Criteria andPaymentMethodIdNotIn(List<Integer> values) {
            addCriterion("payment_method_id not in", values, "paymentMethodId");
            return (Criteria) this;
        }

        public Criteria andPaymentMethodIdBetween(Integer value1, Integer value2) {
            addCriterion("payment_method_id between", value1, value2, "paymentMethodId");
            return (Criteria) this;
        }

        public Criteria andPaymentMethodIdNotBetween(Integer value1, Integer value2) {
            addCriterion("payment_method_id not between", value1, value2, "paymentMethodId");
            return (Criteria) this;
        }

        public Criteria andRechargeMoneyIsNull() {
            addCriterion("recharge_money is null");
            return (Criteria) this;
        }

        public Criteria andRechargeMoneyIsNotNull() {
            addCriterion("recharge_money is not null");
            return (Criteria) this;
        }

        public Criteria andRechargeMoneyEqualTo(String value) {
            addCriterion("recharge_money =", value, "rechargeMoney");
            return (Criteria) this;
        }

        public Criteria andRechargeMoneyNotEqualTo(String value) {
            addCriterion("recharge_money <>", value, "rechargeMoney");
            return (Criteria) this;
        }

        public Criteria andRechargeMoneyGreaterThan(String value) {
            addCriterion("recharge_money >", value, "rechargeMoney");
            return (Criteria) this;
        }

        public Criteria andRechargeMoneyGreaterThanOrEqualTo(String value) {
            addCriterion("recharge_money >=", value, "rechargeMoney");
            return (Criteria) this;
        }

        public Criteria andRechargeMoneyLessThan(String value) {
            addCriterion("recharge_money <", value, "rechargeMoney");
            return (Criteria) this;
        }

        public Criteria andRechargeMoneyLessThanOrEqualTo(String value) {
            addCriterion("recharge_money <=", value, "rechargeMoney");
            return (Criteria) this;
        }

        public Criteria andRechargeMoneyLike(String value) {
            addCriterion("recharge_money like", value, "rechargeMoney");
            return (Criteria) this;
        }

        public Criteria andRechargeMoneyNotLike(String value) {
            addCriterion("recharge_money not like", value, "rechargeMoney");
            return (Criteria) this;
        }

        public Criteria andRechargeMoneyIn(List<String> values) {
            addCriterion("recharge_money in", values, "rechargeMoney");
            return (Criteria) this;
        }

        public Criteria andRechargeMoneyNotIn(List<String> values) {
            addCriterion("recharge_money not in", values, "rechargeMoney");
            return (Criteria) this;
        }

        public Criteria andRechargeMoneyBetween(String value1, String value2) {
            addCriterion("recharge_money between", value1, value2, "rechargeMoney");
            return (Criteria) this;
        }

        public Criteria andRechargeMoneyNotBetween(String value1, String value2) {
            addCriterion("recharge_money not between", value1, value2, "rechargeMoney");
            return (Criteria) this;
        }

        public Criteria andRemarkIsNull() {
            addCriterion("remark is null");
            return (Criteria) this;
        }

        public Criteria andRemarkIsNotNull() {
            addCriterion("remark is not null");
            return (Criteria) this;
        }

        public Criteria andRemarkEqualTo(String value) {
            addCriterion("remark =", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotEqualTo(String value) {
            addCriterion("remark <>", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkGreaterThan(String value) {
            addCriterion("remark >", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkGreaterThanOrEqualTo(String value) {
            addCriterion("remark >=", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLessThan(String value) {
            addCriterion("remark <", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLessThanOrEqualTo(String value) {
            addCriterion("remark <=", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLike(String value) {
            addCriterion("remark like", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotLike(String value) {
            addCriterion("remark not like", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkIn(List<String> values) {
            addCriterion("remark in", values, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotIn(List<String> values) {
            addCriterion("remark not in", values, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkBetween(String value1, String value2) {
            addCriterion("remark between", value1, value2, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotBetween(String value1, String value2) {
            addCriterion("remark not between", value1, value2, "remark");
            return (Criteria) this;
        }

        public Criteria andMakeBillDateTimeIsNull() {
            addCriterion("make_bill_date_time is null");
            return (Criteria) this;
        }

        public Criteria andMakeBillDateTimeIsNotNull() {
            addCriterion("make_bill_date_time is not null");
            return (Criteria) this;
        }

        public Criteria andMakeBillDateTimeEqualTo(Date value) {
            addCriterion("make_bill_date_time =", value, "makeBillDateTime");
            return (Criteria) this;
        }

        public Criteria andMakeBillDateTimeNotEqualTo(Date value) {
            addCriterion("make_bill_date_time <>", value, "makeBillDateTime");
            return (Criteria) this;
        }

        public Criteria andMakeBillDateTimeGreaterThan(Date value) {
            addCriterion("make_bill_date_time >", value, "makeBillDateTime");
            return (Criteria) this;
        }

        public Criteria andMakeBillDateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("make_bill_date_time >=", value, "makeBillDateTime");
            return (Criteria) this;
        }

        public Criteria andMakeBillDateTimeLessThan(Date value) {
            addCriterion("make_bill_date_time <", value, "makeBillDateTime");
            return (Criteria) this;
        }

        public Criteria andMakeBillDateTimeLessThanOrEqualTo(Date value) {
            addCriterion("make_bill_date_time <=", value, "makeBillDateTime");
            return (Criteria) this;
        }

        public Criteria andMakeBillDateTimeIn(List<Date> values) {
            addCriterion("make_bill_date_time in", values, "makeBillDateTime");
            return (Criteria) this;
        }

        public Criteria andMakeBillDateTimeNotIn(List<Date> values) {
            addCriterion("make_bill_date_time not in", values, "makeBillDateTime");
            return (Criteria) this;
        }

        public Criteria andMakeBillDateTimeBetween(Date value1, Date value2) {
            addCriterion("make_bill_date_time between", value1, value2, "makeBillDateTime");
            return (Criteria) this;
        }

        public Criteria andMakeBillDateTimeNotBetween(Date value1, Date value2) {
            addCriterion("make_bill_date_time not between", value1, value2, "makeBillDateTime");
            return (Criteria) this;
        }

        public Criteria andEnabledStateIsNull() {
            addCriterion("enabled_state is null");
            return (Criteria) this;
        }

        public Criteria andEnabledStateIsNotNull() {
            addCriterion("enabled_state is not null");
            return (Criteria) this;
        }

        public Criteria andEnabledStateEqualTo(Integer value) {
            addCriterion("enabled_state =", value, "enabledState");
            return (Criteria) this;
        }

        public Criteria andEnabledStateNotEqualTo(Integer value) {
            addCriterion("enabled_state <>", value, "enabledState");
            return (Criteria) this;
        }

        public Criteria andEnabledStateGreaterThan(Integer value) {
            addCriterion("enabled_state >", value, "enabledState");
            return (Criteria) this;
        }

        public Criteria andEnabledStateGreaterThanOrEqualTo(Integer value) {
            addCriterion("enabled_state >=", value, "enabledState");
            return (Criteria) this;
        }

        public Criteria andEnabledStateLessThan(Integer value) {
            addCriterion("enabled_state <", value, "enabledState");
            return (Criteria) this;
        }

        public Criteria andEnabledStateLessThanOrEqualTo(Integer value) {
            addCriterion("enabled_state <=", value, "enabledState");
            return (Criteria) this;
        }

        public Criteria andEnabledStateIn(List<Integer> values) {
            addCriterion("enabled_state in", values, "enabledState");
            return (Criteria) this;
        }

        public Criteria andEnabledStateNotIn(List<Integer> values) {
            addCriterion("enabled_state not in", values, "enabledState");
            return (Criteria) this;
        }

        public Criteria andEnabledStateBetween(Integer value1, Integer value2) {
            addCriterion("enabled_state between", value1, value2, "enabledState");
            return (Criteria) this;
        }

        public Criteria andEnabledStateNotBetween(Integer value1, Integer value2) {
            addCriterion("enabled_state not between", value1, value2, "enabledState");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNull() {
            addCriterion("update_time is null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNotNull() {
            addCriterion("update_time is not null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeEqualTo(Date value) {
            addCriterion("update_time =", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotEqualTo(Date value) {
            addCriterion("update_time <>", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThan(Date value) {
            addCriterion("update_time >", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("update_time >=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThan(Date value) {
            addCriterion("update_time <", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThanOrEqualTo(Date value) {
            addCriterion("update_time <=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIn(List<Date> values) {
            addCriterion("update_time in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotIn(List<Date> values) {
            addCriterion("update_time not in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeBetween(Date value1, Date value2) {
            addCriterion("update_time between", value1, value2, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotBetween(Date value1, Date value2) {
            addCriterion("update_time not between", value1, value2, "updateTime");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}